A problem in CPU-constrained main memories relates to an inability of multiple code overlays to swap into and out of a single area within RAM while each overlay also maintains a non-swappable data area within the RAM. As employed herein, the phrase "CPU-constrained main memory" is intended to mean a memory the usage of which is restrained by the addressing capabilities of the CPU. Such a separation between code and data, with the code being swappable and the data operated on by the code being non-swappable, would allow a given procedure within a code swappable overlay to be invoked from anywhere within the system, including other code swappable overlays.
An ability for one swappable overlay to invoke a procedure from another swappable overlay would provide a number of benefits. Typically, because a calling overlay is completely swapped out by the called overlay, the called overlay has no access to any data within the caller, including the caller's stack. This situation severely limits the type of procedures that can be added to an overlay.
It is therefore an object of the invention to provide in a data processing system having a CPU-constrained main memory a method whereby a swappable overlay is enabled to invoke a procedure from another swappable overlay.
It is another object of the invention to provide in a main memory constrained data processing system a process whereby multiple code overlays are swapped into and out of a single area within the main memory while each overlay also maintains a non-swappable data area within the main memory.
It is a further object of the invention to provide in a main memory constrained data processing system a process whereby a called overlay that is swapped into a main memory has access to data associated with a calling, swapped out overlay, including the calling overlay's stack.